OpenMMLab (컴퓨터 비전 연구와 개발을 위한 통합 알고리즘 시스템)

OpenMMLab (컴퓨터 비전 연구와 개발을 위한 통합 알고리즘 시스템)

1. 서론

OpenMMLab은 딥러닝 시대에 가장 영향력 있는 오픈소스 컴퓨터 비전(Computer Vision) 알고리즘 시스템 중 하나로 자리매김했다.1 PyTorch를 기반으로 구축된 이 플랫폼은 알고리즘 재구현의 복잡성을 줄이고, 학술 연구와 산업 적용 사이의 간극을 메우는 것을 핵심 목표로 삼는다.1 2018년 10월 첫 출시 이후, OpenMMLab은 30개 이상의 전문화된 비전 라이브러리, 300개 이상의 구현된 알고리즘, 그리고 2000개가 넘는 사전 학습된 모델을 아우르는 방대한 생태계로 성장했다.1 이는 연구자들과 개발자들에게 전례 없는 수준의 유연성과 효율성을 제공하며 컴퓨터 비전 분야의 발전을 가속화하고 있다.

OpenMMLab의 핵심 가치는 통일성과 확장성에 있다. MMEngine이라는 범용 학습 엔진과 MMCV라는 컴퓨터 비전 기초 라이브러리를 중심으로, 객체 탐지, 이미지 분할, 포즈 추정, 생성형 AI 등 다양한 하위 태스크를 위한 툴킷들이 유기적으로 연결된다. 이러한 구조는 사용자가 하나의 일관된 설계 철학 하에서 여러 비전 문제를 해결할 수 있도록 지원하며, 새로운 연구 아이디어를 신속하게 프로토타이핑하고 검증할 수 있는 견고한 기반을 제공한다.

본 안내서는 OpenMMLab 생태계에 대한 심층적이고 다각적인 분석을 제공하는 것을 목적으로 한다. 제1장에서는 OpenMMLab의 학술적 기원과 산업적 배경을 탐구하며 그 탄생 철학을 조명한다. 제2장에서는 OpenMMLab 2.0의 핵심 아키텍처, 특히 MMEngine과 모듈식 설계 원칙을 심도 있게 분석한다. 제3장에서는 MMDetection, MMSegmentation 등 주요 툴킷의 기능과 전문 영역을 상세히 다룬다. 제4장에서는 설치부터 추론에 이르는 엔드투엔드 워크플로우를 단계별로 안내하여 실용적인 활용 방안을 제시한다. 제5장에서는 MMDeploy를 중심으로 한 모델 배포 전략과 산업 현장에서의 적용 사례를 살펴본다. 마지막으로 제6장에서는 Detectron2, YOLO 등 주요 프레임워크와의 비교 분석을 통해 OpenMMLab의 기술적 위상을 평가하고, 학계에 미친 영향력과 미래 전망을 논하며 안내서를 마무리한다.

2. OpenMMLab의 기원과 비전

OpenMMLab의 성공은 단순한 기술적 우수성을 넘어, 학술 연구의 깊이와 산업적 통찰력이 유기적으로 결합된 독특한 배경에 기인한다. 그 뿌리는 세계적인 연구 기관인 홍콩중문대학(CUHK)의 멀티미디어 연구소(MMLab)에 있으며, 이는 글로벌 AI 기업 SenseTime의 설립으로 이어져 강력한 산학연계 생태계를 구축하는 기반이 되었다.

2.1 학술적 요람: 홍콩중문대학 멀티미디어 연구소 (MMLab@CUHK)

OpenMMLab의 정신적, 기술적 모태는 2001년, AI 분야의 선구자인 Tang Xiao’ou 교수가 홍콩중문대학(CUHK) 정보공학과에 설립한 멀티미디어 연구소(MMLab)이다.2 MMLab은 딥러닝 기술의 여명기부터 해당 분야 연구를 선도하며 학문적 기틀을 다졌다. 특히 2012년, Tang 교수는 딥러닝의 중요성을 선견지명으로 예측하고 연구 자원을 집중시켰는데, 이는 다른 국가의 산업계가 그 중요성을 인식하기 시작한 2015년보다 수년 앞선 결정이었다.2

이러한 선도적인 연구 환경 속에서 MMLab은 괄목할 만한 성과를 거두었다. 2011년부터 2013년까지, 컴퓨터 비전 분야 최고 학회인 CVPR(Computer Vision and Pattern Recognition)과 ICCV(International Conference on Computer Vision)에 총 14편의 딥러닝 관련 논문을 게재했는데, 이는 당시 전 세계에서 발표된 해당 분야 논문의 거의 절반에 해당하는 수치였다.2 이러한 학술적 성과는 OpenMMLab이 최신 연구 동향을 신속하게 고품질 코드로 구현해내는 문화적 DNA를 갖추게 된 배경이 되었다. OpenMMLab 프로젝트를 실질적으로 이끌고 있는 Dahua Lin 교수 역시 Tang 교수의 제자로서, MMLab의 학술적 계보가 OpenMMLab으로 직접적으로 이어졌음을 명확히 보여준다.2

2.2 SenseTime과의 관계 및 산업적 배경

MMLab의 연구 성과가 축적되면서, Tang 교수는 이를 학계를 넘어 사회에 실질적인 영향을 미치는 기술로 발전시키고자 했다.2 이러한 비전은 2014년, MMLab의 핵심 연구진이었던 Tang Xiao’ou, Wang Xiaogang, Dahua Lin 교수가 AI 유니콘 기업인 SenseTime을 공동 창업하는 계기가 되었다.2 SenseTime의 창업은 MMLab에서 개발한 얼굴 인식 알고리즘이 인간의 인식 능력을 뛰어넘는 획기적인 성능을 달성한 직후 이루어졌으며, 이는 AI 연구의 산업화 가능성을 입증한 중요한 이정표였다.2

SenseTime은 창립 이후에도 OpenMMLab을 포함하여 OpenPPL(고성능 추론 엔진), OpenDILab(의사결정 지능 플랫폼) 등 다수의 오픈소스 프로젝트를 적극적으로 지원하고 있다.3 이는 OpenMMLab이 순수 학술 커뮤니티 프로젝트를 넘어, 강력한 산업적 자원과 피드백을 기반으로 운영되고 있음을 의미한다. 이러한 독특한 산학연계 구조는 학계의 최첨단 연구 성과가 OpenMMLab을 통해 신속하게 산업 현장에 적용 가능한 고품질 코드로 구현되고, 반대로 산업 현장에서 발생하는 실질적인 문제와 요구사항이 다시 MMLab의 연구 주제로 피드백되는 선순환 구조를 창출했다. 이 구조야말로 아이디어가 논문으로, 논문이 코드로, 그리고 코드가 실제 제품으로 이어지는 전체 가치 사슬을 지원하며 OpenMMLab의 지속적인 발전을 이끄는 핵심 동력이다.

2.3 핵심 철학과 목표

OpenMMLab의 비전은 공식적으로 제시된 네 가지 핵심 목표에 명확히 나타나 있다.1 이는 단순한 코드 라이브러리 제공을 넘어, 컴퓨터 비전 생태계 전체를 아우르는 플랫폼을 지향함을 보여준다.

  1. 고품질 라이브러리 제공 (Provide high-quality libraries): 연구자들이 최신 알고리즘을 재구현하는 데 소요되는 시간과 노력을 줄여, 본질적인 연구 자체에 집중할 수 있도록 지원한다. 이는 학술 연구의 재현성을 높이는 데 결정적인 역할을 한다.
  2. 효율적인 배포 툴체인 구축 (Create efficient deployment toolchains): 연구 단계에서 개발된 모델이 다양한 하드웨어 백엔드(예: NVIDIA GPU, Ascend NPU)와 디바이스에서 효율적으로 동작할 수 있도록 지원하는 풀스택 배포 솔루션을 제공한다. 이는 MMDeploy 툴킷을 통해 구체화된다.
  3. 견고한 연구 개발 기반 마련 (Build a solid foundation for research and development): MMEngine과 MMCV 같은 기초 라이브러리를 통해 통일되고 안정적인 개발 환경을 제공함으로써, 컴퓨터 비전 연구와 개발의 초석이 되고자 한다.
  4. 산학 격차 해소 (Bridge the gap between academic research and industrial applications): 연구실의 알고리즘이 실제 산업 현장에서 사용되기까지의 전 과정을 지원하는 풀스택 툴체인을 구축하여, 학술적 성과가 실질적인 가치로 전환되는 것을 가속화한다.

이러한 목표들은 OpenMMLab이 단순히 코드를 공개하는 것을 넘어, 컴퓨터 비전 분야의 연구, 개발, 배포 표준을 제시하고 생태계 전체의 발전을 도모하려는 거시적인 비전을 가지고 있음을 명확히 보여준다.

3. OpenMMLab 2.0 아키텍처 심층 분석

OpenMMLab 2.0으로의 전환은 단순한 버전 업데이트가 아닌, 생태계의 장기적인 확장성과 유지보수성을 확보하기 위한 근본적인 아키텍처 재설계였다. 이는 ’통합’과 ’분리’라는 두 가지 핵심 원칙에 기반하며, MMEngine의 도입과 MMCV의 역할 재정의를 통해 구체화되었다.

3.1 통합 엔진의 탄생: MMEngine

OpenMMLab 2.0 아키텍처의 가장 핵심적인 변화는 MMEngine의 도입이다.1 이전 버전에서는 각 툴킷이 MMCV 내에 포함된 학습 관련 모듈들을 공유했지만, 생태계가 30개 이상의 툴킷으로 확장되면서 중복 구현과 일관성 유지의 어려움이 발생했다. MMEngine은 이러한 문제를 해결하기 위해 탄생한 범용 딥러닝 모델 학습 및 평가 엔진이다.1

MMEngine은 기존에 MMCV에 흩어져 있던 학습 루프 실행기(Runner), 학습 과정에 개입하는 Hook, 병렬 처리 로직(Parallel) 등 공통 기능을 하나의 통합된 라이브러리로 추출했다.5 이제 MMDetection, MMSegmentation 등 모든 OpenMMLab 툴킷은 동일한 MMEngine을 기반으로 동작한다. 이로써 사용자는 하나의 통일된 학습 파이프라인 개념을 익히면 생태계 내 모든 툴킷에 동일하게 적용할 수 있게 되었으며, 개발팀은 공통 기능의 유지보수를 MMEngine에 집중하여 생태계 전체의 안정성과 일관성을 획기적으로 향상시켰다.

3.2 컴퓨터 비전의 초석: MMCV (OpenMMLab Computer Vision Foundation)

MMEngine이 학습의 ’제어’를 담당한다면, MMCV는 컴퓨터 비전의 ’기초 연산’을 담당하는 핵심 라이브러리다.6 OpenMMLab 2.0 아키텍처에서 MMCV는 학습 관련 기능들을 MMEngine으로 이관하고, 순수한 컴퓨터 비전 기초 라이브러리로서의 역할이 더욱 명확해졌다.5

MMCV가 제공하는 핵심 기능은 다음과 같다 6:

  • 고성능 CUDA 연산자 (Ops): Deformable Convolution, RoI Align 등 GPU 가속이 필수적인 핵심 연산자들을 고품질 CUDA 커널로 구현하여 제공한다.
  • 범용 데이터 처리: 다양한 형식의 파일을 읽고 쓰는 IO API, 이미지 및 비디오를 처리(크기 조절, 색상 변환 등)하는 기능, 데이터 증강(Data Augmentation)을 위한 다양한 변환(Transform)을 포함한다.
  • 유틸리티: 학습 진행률 표시줄, 타이머, 시각화 도구 등 연구 및 개발에 필수적인 각종 편의 기능을 제공한다.

또한, 2.0으로 전환되면서 패키지 정책이 변경되었다. 이전에는 CUDA 연산자가 포함되지 않은 mmcv가 기본이었고, 완전한 기능을 사용하려면 mmcv-full을 별도로 설치해야 했다. 2.0부터는 완전한 기능의 패키지가 mmcv라는 이름으로 제공되며, CUDA 연산자가 제외된 경량 버전은 mmcv-lite로 명명되었다.5 이는 고성능 연산자 활용을 기본으로 삼겠다는 프로젝트의 방향성을 보여준다.

3.3 모듈식 설계와 레지스트리 메커니즘

OpenMMLab의 모든 툴킷은 ’모듈식 설계(Modular Design)’라는 핵심 철학을 공유한다.7 예를 들어, MMDetection에서 객체 탐지 모델은 backbone, neck, head와 같은 독립적인 컴포넌트들의 조합으로 구성된다.9 이러한 설계는 사용자가 마치 레고 블록을 조립하듯, 기존 컴포넌트를 교체하거나 새로운 컴포넌트를 추가하여 자신만의 커스텀 모델을 손쉽게 구축할 수 있게 한다.

이러한 유연성을 기술적으로 구현하는 핵심 메커니즘이 바로 MMEngine의 ’레지스트리(Registry)’이다. 레지스트리는 특정 기능을 수행하는 클래스들을 이름(문자열)과 매핑하여 관리하는 전역 저장소 역할을 한다. 예를 들어, 사용자가 새로운 백본 네트워크 MyResNet을 구현하고 @BACKBONES.register_module() 데코레이터를 사용하여 레지스트리에 등록하면, 이후 Config 파일에서 backbone=dict(type='MyResNet',...)와 같이 type 필드에 문자열 이름만 지정하여 해당 클래스의 인스턴스를 생성할 수 있다.5 이 방식은 프레임워크의 핵심 코드를 전혀 수정하지 않고도 새로운 기능을 무한히 확장할 수 있게 하는 강력한 도구이다.

3.4 설정(Config) 시스템: 상속을 통한 유연성과 확장성

OpenMMLab의 Config 시스템은 단순한 파라미터 관리 도구를 넘어, 코드 재사용성과 실험의 유연성을 극대화하는 정교한 시스템이다.9 가장 큰 특징은 파이썬 파일을 설정 파일로 사용하며, ‘상속(inheritance)’ 개념을 도입했다는 점이다.

사용자는 _base_라는 특수 변수를 사용하여 하나 이상의 다른 Config 파일로부터 설정을 상속받을 수 있다.9 예를 들어, 새로운 데이터셋으로 Mask R-CNN 모델을 학습시키고자 할 때, 다음과 같이 기존 COCO 데이터셋용 Config 파일을 상속받고 필요한 부분만 수정하면 된다.

# my_mask_rcnn_config.py
_base_ = './mask-rcnn_r50_fpn_1x_coco.py'

# 데이터셋 설정 수정
data_root = 'path/to/my/dataset/'
metainfo = dict(classes=('class1', 'class2'))
train_dataloader = dict(
dataset=dict(
data_root=data_root,
metainfo=metainfo,
ann_file='annotations/train.json',
data_prefix=dict(img='train/')))
val_dataloader = dict(
dataset=dict(
data_root=data_root,
metainfo=metainfo,
ann_file='annotations/val.json',
data_prefix=dict(img='val/')))

# 모델의 클래스 수 수정
model = dict(
roi_head=dict(
bbox_head=dict(num_classes=2),
mask_head=dict(num_classes=2)))

이러한 상속 구조는 중복되는 설정을 최소화하고, 변경 사항을 명확하게 관리할 수 있게 하여 수많은 실험을 체계적으로 수행할 수 있도록 돕는다. 또한, {model}_{backbone}_{schedule}_{dataset}과 같은 일관된 명명 규칙을 통해 파일명만으로도 실험의 핵심 구성을 파악할 수 있다.9

3.5 OpenMMLab 1.0에서 2.0으로의 전환: 주요 변경 사항 분석

OpenMMLab 2.0으로의 전환은 아키텍처의 근본적인 변화를 동반했기 때문에, 기존 사용자들은 주요 비호환 변경 사항(Backwards Incompatible Changes)을 숙지해야 한다. 핵심적인 변화는 MMEngine으로의 기능 이관과 그에 따른 MMCV의 재편이다.5 주요 변경 사항은 아래 표와 같이 요약할 수 있다.

기능 영역 (Feature Area)OpenMMLab 1.x (in MMCV)OpenMMLab 2.0 (이전된 위치)주요 변경 내용
학습 루프 (Runner)mmcv.runnermmengine.runner학습, 검증, 테스트의 전체 흐름을 제어하는 Runner 클래스가 MMEngine으로 이전됨.
훅 (Hooks)mmcv.runner.hooksmmengine.hooks체크포인트 저장, 로깅, 파라미터 스케줄링 등 학습 과정에 개입하는 Hook 시스템이 MMEngine으로 통합됨.
설정 (Config)mmcv.utils.Configmmengine.config.Config설정 파일 파싱 및 관리를 담당하는 Config 클래스가 MMEngine으로 이전됨.
레지스트리 (Registry)mmcv.utils.Registrymmengine.registry.Registry모듈식 설계를 지원하는 Registry 메커니즘이 MMEngine의 핵심 기능으로 자리 잡음.
파일 I/Ommcv.fileiommengine.fileio파일 읽기/쓰기 등 범용 IO 기능이 MMEngine으로 이관됨.
모델 배포 (ONNX/TRT)mmcv.onnx, mmcv.tensorrtMMDeploy (별도 툴킷)ONNX, TensorRT 등 모델 배포 관련 기능이 전문 툴킷인 MMDeploy로 완전히 분리 및 확장됨.
패키지명 (Package Name)mmcv (lite), mmcv-full (full)mmcv-lite (lite), mmcv (full)CUDA 연산자를 포함한 완전판이 기본 패키지(mmcv)가 됨.

이러한 변화는 단기적으로 마이그레이션 비용을 발생시키지만, 각 라이브러리의 역할을 명확히 분리하고(Separation of Concerns), 생태계 전체의 코드 중복을 제거함으로써 장기적인 관점에서 OpenMMLab의 지속 가능성과 확장성을 크게 향상시키는 전략적 결정이라 할 수 있다.

4. OpenMMLab 생태계: 핵심 툴킷 가이드

OpenMMLab의 가장 큰 강점은 컴퓨터 비전의 거의 모든 세부 분야를 아우르는 방대한 툴킷 생태계에 있다. 각 툴킷은 특정 도메인에 최적화된 최신 알고리즘과 표준화된 벤치마크를 제공하면서도, MMEngine과 MMCV라는 공통 기반 위에서 일관된 사용자 경험을 제공한다. 본 장에서는 생태계의 핵심을 이루는 주요 툴킷들을 심층적으로 분석한다.

아래 표는 OpenMMLab의 핵심 툴킷들을 요약한 것이다.

툴킷명핵심 기능 (Specialized Domain)대표 지원 모델/알고리즘주요 적용 분야
MMDetection객체 탐지, 인스턴스/파놉틱 분할Faster R-CNN, Mask R-CNN, RetinaNet, DETR, RTMDet, YOLO자율 주행, 스마트 시티, 보안 감시
MMSegmentation시맨틱 분할FCN, PSPNet, DeepLabV3+, HRNet, SegFormer의료 영상 분석, 위성 영상 분석, 자율 주행
MMPose2D/3D 포즈 추정SimpleBaseline, HRNet, RTMPose, ViTPose, VideoPose3D동작 분석, 휴먼-컴퓨터 상호작용, AR/VR
MMagic생성형 AI (AIGC)GANs (StyleGAN), Diffusion Models (Stable Diffusion), VAEs이미지/비디오 생성, 초해상도, 인페인팅, 스타일 변환
MMPretrain모델 사전 학습 및 분류ResNet, Vision Transformer (ViT), Swin, MAE, CLIP이미지 분류, 자기지도 학습, 멀티모달 학습
MMAction2비디오 이해 (액션 인식)TSN, I3D, SlowFast, Timesformer비디오 분석, 스포츠 분석, 이상 행동 탐지
MMDeploy모델 배포-ONNX, TensorRT, OpenVINO 등 백엔드 최적화 및 배포

4.1 MMDetection: 객체 탐지 (Object Detection)

MMDetection은 OpenMMLab 생태계에서 가장 널리 알려지고 영향력 있는 툴킷으로, 객체 탐지 분야의 사실상 표준(de facto standard) 코드베이스 중 하나로 인정받는다.7 그 기원은 2018년 COCO 객체 탐지 챌린지에서 우승한 MMLab 팀의 코드베이스에 있으며, 이후 지속적인 발전을 거듭해왔다.7

핵심 특징:

  • 포괄적인 작업 지원: 단순한 경계 상자(Bounding Box) 탐지를 넘어, 픽셀 단위로 객체를 분리하는 인스턴스 분할(Instance Segmentation)과 배경까지 포함한 모든 픽셀을 분류하는 파놉틱 분할(Panoptic Segmentation)까지 지원한다.7 또한, 레이블이 부족한 데이터를 활용하는 준지도 학습(Semi-supervised Learning) 기법도 포함하고 있어 연구의 폭을 넓혀준다.
  • 최고 수준의 성능과 효율성: 모든 핵심 연산(BBox, Mask 처리 등)이 GPU에서 수행되도록 최적화되어 있어, Facebook AI Research(FAIR)의 Detectron2와 비교해도 동등하거나 더 빠른 학습 속도를 보인다.7
  • 방대한 모델 동물원(Model Zoo): Faster R-CNN, Mask R-CNN과 같은 고전적인 2-stage 모델부터 RetinaNet, FCOS, YOLO와 같은 1-stage 모델, 그리고 DETR, DINO와 같은 Transformer 기반의 최신 모델에 이르기까지 수많은 알고리즘과 사전 학습된 가중치를 제공한다.7 특히, 실시간 탐지에 특화된 RTMDet과 오픈 보캡(Open-Vocabulary) 탐지를 위한 MM-Grounding-DINO 등 최신 연구 동향을 신속하게 반영한다.7

4.2 MMSegmentation: 시맨틱 분할 (Semantic Segmentation)

MMSegmentation은 이미지의 각 픽셀이 어떤 클래스에 속하는지 분류하는 시맨틱 분할(Semantic Segmentation) 작업을 위한 전문 툴킷이다.8 픽셀 단위의 정밀한 이해가 요구되는 다양한 산업 분야에서 핵심적인 역할을 수행한다.

핵심 특징:

  • 통합 벤치마크 제공: 다양한 분할 알고리즘을 공정하게 비교하고 평가할 수 있는 통일된 벤치마크 환경을 제공한다.13 이는 연구의 재현성을 보장하고 새로운 모델의 성능을 객관적으로 측정하는 데 필수적이다.
  • 유연한 모듈식 구조: 분할 모델을 구성하는 backbone, neck, decode_head, loss 등의 컴포넌트를 독립적으로 설계하여, 사용자가 필요에 따라 쉽게 조합하고 수정할 수 있도록 지원한다.8
  • 다양한 알고리즘 지원: FCN, U-Net과 같은 초기 모델부터 PSPNet, DeepLabV3+, HRNet, 그리고 최신 Transformer 기반 모델인 SegFormer에 이르기까지, 시맨틱 분할 분야의 주요 알고리즘들을 폭넓게 구현하고 있다.8
  • 산업적 적용성: 자율 주행 차량의 도로 환경 인식, 의료 영상에서의 종양 및 장기 영역 분할, 위성 이미지를 통한 토지 피복 분류 등 정밀한 픽셀 레벨 분석이 필요한 다양한 실제 문제 해결에 활용된다.8

4.3 MMPose: 포즈 추정 (Pose Estimation)

MMPose는 이미지나 비디오 속 인물이나 동물의 신체 주요 관절(Keypoint) 위치를 추정하는 포즈 추정(Pose Estimation) 작업을 위한 툴킷이다.14 인간의 동작을 이해하고 분석하는 다양한 애플리케이션의 기반 기술이 된다.

핵심 특징:

  • 광범위한 포즈 분석: 2D 인체 키포인트 추정을 기본으로, 3D 공간에서의 인체 포즈, 손가락 마디, 얼굴 랜드마크, 그리고 133개의 키포인트를 사용하는 전신(Whole-body) 포즈 추정까지 지원한다. 나아가 동물 포즈 추정까지 영역을 확장하여 포괄적인 포즈 분석 솔루션을 제공한다.14
  • 다양한 접근법 지원: 이미지 전체에서 모든 사람의 키포인트를 먼저 찾고 이를 각 개인에게 할당하는 Bottom-up 방식과, 먼저 사람을 탐지한 후 각 사람의 키포인트를 찾는 Top-down 방식을 모두 지원하여 문제 상황에 맞는 최적의 접근법을 선택할 수 있다.15
  • 실시간 성능: RTMPose와 같은 경량화된 고성능 모델을 제공하여, 모바일 기기나 엣지 디바이스에서도 실시간으로 동작하는 애플리케이션 개발을 가능하게 한다.15 이는 인터랙티브 피트니스, AR 필터 등 산업적 활용도를 크게 높이는 요소이다.

4.4 MMagic: 생성형 AI (Generative AI / AIGC)

MMagic은 최근 AI 기술의 핵심 트렌드인 생성형 AI(AIGC, AI-Generated Content) 분야를 전문적으로 다루는 툴킷이다.17 이 툴킷은 기존의 이미지/비디오 편집 툴킷인 MMEditing과 생성 모델 툴킷인 MMGeneration을 통합하여 탄생했으며, 멀티모달리티와 지능적 창작을 위한 강력한 기능을 제공한다.18

핵심 특징:

  • 최신 생성 모델 집약: GAN(Generative Adversarial Network) 계열의 StyleGAN, 그리고 현재 생성 모델의 주류인 Diffusion Model(확산 모델)을 포괄적으로 지원한다.17
  • 강력한 AIGC 애플리케이션: 텍스트 설명으로부터 이미지를 생성하는 Text-to-Image, 저화질 이미지를 고화질로 복원하는 초해상도(Super-Resolution), 이미지의 일부를 자연스럽게 채우는 인페인팅(Inpainting), 배경과 전경을 분리하는 매팅(Matting) 등 인기 있는 AIGC 애플리케이션을 즉시 사용할 수 있도록 제공한다.18
  • Diffusion Model 특화 기능: 특히 Stable Diffusion 모델에 대한 미세조정(Fine-tuning) 기법인 DreamBooth와 LoRA를 지원하며, ControlNet을 통해 생성되는 이미지의 구조와 형태를 정교하게 제어하는 기능을 제공한다. 이는 사용자가 자신만의 스타일을 가진 모델을 만들거나 특정 목적에 맞는 이미지를 생성할 수 있게 해주는 고급 기능이다.18

4.5 기타 주요 툴킷 개요

위 4개의 핵심 툴킷 외에도 OpenMMLab 생태계는 다음과 같은 다양한 전문 툴킷들을 통해 그 범위를 확장하고 있다.

  • MMPretrain: 이미지 분류는 물론, MAE, MoCo와 같은 자기지도 학습(Self-Supervised Learning) 및 CLIP과 같은 멀티모달 모델을 위한 사전 학습 툴킷이다. 이는 특정 태스크에 국한되지 않는 범용적인 시각적 표현(Visual Representation)을 학습하는 데 중점을 둔다.4
  • MMOCR: 이미지 속 문자를 찾아내고(Text Detection), 인식하는(Text Recognition) 광학 문자 인식(OCR)을 위한 종합 툴킷이다.4
  • MMAction2: 비디오 내에서 일어나는 행동을 인식하고 분류하는(Action Recognition) 비디오 이해(Video Understanding)를 위한 차세대 툴킷이다.4
  • MMDetection3D: 라이다(LiDAR)나 다중 카메라를 이용한 3차원 공간에서의 객체 탐지를 전문으로 다루며, 자율 주행 기술의 핵심 요소이다.4
  • MMRotate: 위성 이미지나 영수증 텍스트처럼 회전된 형태로 나타나는 객체를 탐지하는 데 특화된 툴킷이다.4
  • MMTracking: 비디오 내에서 특정 객체의 움직임을 지속적으로 추적하는 다중 객체 추적(Multi-Object Tracking)을 위한 통합 플랫폼이다.4
  • MMYOLO: 객체 탐지 모델 중 특히 YOLO 계열의 모델들을 집중적으로 지원하고 최적화하는 데 특화된 툴킷이다.4

5. 엔드투엔드 워크플로우: 설치부터 추론까지

OpenMMLab의 강력함은 실제 프로젝트에 적용될 때 비로소 드러난다. 본 장에서는 일반적인 사용자의 관점에서 환경 설정부터 모델 추론에 이르기까지의 전체 워크플로우를 단계별로 안내한다. 이 과정은 MMDetection을 예시로 설명하지만, 핵심적인 원리는 생태계 내 모든 툴킷에 공통적으로 적용된다.

5.1 환경 설정 및 설치

안정적인 개발 환경을 구축하는 것은 모든 프로젝트의 첫걸음이다. OpenMMLab은 Python, PyTorch, CUDA에 대한 특정 버전 요구사항을 가지고 있으며, conda와 같은 가상환경 관리 도구를 사용하는 것이 강력히 권장된다.22

  1. 사전 요구사항 확인:
  • OS: Linux, Windows, macOS 지원 8
  • Python: 3.7 이상 22
  • PyTorch: 1.8 이상 8
  • CUDA: 10.2 이상 (GPU 사용 시) 8
  1. Conda 가상환경 생성:

터미널에서 다음 명령어를 실행하여 openmmlab이라는 이름의 독립된 Python 3.8 환경을 생성하고 활성화한다.

conda create --name openmmlab python=3.8 -y
conda activate openmmlab

22

  1. PyTorch 설치:

GPU 플랫폼에서는 다음 명령어로 PyTorch와 관련 라이브러리를 설치한다.

conda install pytorch torchvision -c pytorch

22

  1. OpenMMLab 라이브러리 설치 (MIM 활용):

mim은 OpenMMLab 생태계의 패키지를 관리하는 커맨드라인 도구로, 복잡한 의존성을 자동으로 해결해준다.

pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
mim install mmdet

23

개발 목적으로 소스 코드를 직접 수정하며 사용하려면, mim install mmdet 대신 저장소를 클론하여 편집 가능 모드(-e)로 설치한다.

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e.

22

5.2 데이터셋 준비

사전 학습된 모델을 사용하더라도, 대부분의 실제 프로젝트에서는 커스텀 데이터셋에 대한 미세조정(fine-tuning)이 필요하다. MMDetection은 다양한 방식의 커스텀 데이터셋을 지원한다.25

  • 표준 포맷으로 변환 (권장): 가장 안정적이고 권장되는 방법은 자체 데이터셋을 COCO나 PASCAL VOC와 같은 표준 형식으로 변환하는 것이다. 이 형식은 어노테이션 파일(주로 JSON)과 이미지 파일들로 구성된다.
  • 새로운 데이터셋 클래스 구현: 만약 데이터셋이 매우 독특한 형식을 가지고 있다면, mmdet/datasets 디렉토리 내에 새로운 데이터셋 클래스를 직접 구현할 수 있다. 이는 BaseDataset 클래스를 상속받아 데이터 로딩 및 파싱 로직을 정의하는 방식으로 이루어진다.27

데이터셋 준비가 완료되면, 해당 데이터셋의 경로와 메타 정보(클래스 이름 등)를 Config 파일에 명시해야 한다.

5.3 Config 파일을 이용한 모델 및 학습 파이프라인 구성

OpenMMLab의 모든 실험은 Config 파일을 통해 제어된다. 2장에서 설명한 상속 기능을 활용하면 최소한의 수정으로 새로운 실험을 구성할 수 있다.27

  1. 기본 Config 파일 선택 및 상속:

학습하려는 모델과 유사한 구조를 가진 기존 Config 파일을 configs 디렉토리에서 찾는다. 예를 들어, RTMDet-tiny 모델을 커스텀 데이터셋에 학습시키려면, configs/rtmdet/rtmdet_tiny_8xb32-300e_coco.py 파일을 기반으로 새로운 Config 파일을 작성한다. 파일 상단에 _base_를 명시하여 기본 설정을 상속받는다.

  1. 데이터셋 관련 설정 수정:

데이터셋의 경로(data_root), 어노테이션 파일명, 클래스 정보(metainfo) 등을 자신의 데이터셋에 맞게 수정한다. 데이터 로더의 배치 크기(batch_size)나 워커 수(num_workers)도 이 단계에서 조정할 수 있다.

  1. 모델 설정 수정:

가장 중요한 수정 사항은 모델의 최종 출력 레이어에서 클래스 수를 데이터셋의 클래스 수와 일치시키는 것이다. 예를 들어, 80개의 클래스를 가진 COCO 데이터셋으로 사전 학습된 모델을 10개의 클래스를 가진 커스텀 데이터셋에 미세조정하려면, model.bbox_head.num_classes 값을 10으로 변경해야 한다.

  1. 학습 스케줄 및 런타임 설정 수정:

학습률(learning rate), 옵티마이저(optimizer), 총 에폭(epoch) 수 등 학습 스케줄을 조정하고, 로그 기록 주기, 체크포인트 저장 경로 등 런타임 관련 설정을 변경할 수 있다. 사전 학습된 모델의 가중치를 불러와 학습을 시작하려면 load_from 필드에 .pth 파일 경로를 지정한다.27

5.4 모델 학습, 테스트, 및 추론

Config 파일 작성이 완료되면, 제공되는 스크립트를 통해 모델의 학습, 테스트, 추론을 진행할 수 있다.

  • 모델 학습:

tools/train.py 스크립트와 작성한 Config 파일을 인자로 전달하여 학습을 시작한다. 다중 GPU를 사용한 분산 학습은 더 빠른 학습을 가능하게 한다.

# 단일 GPU 학습
python tools/train.py configs/my_custom_config.py

# 4개 GPU를 사용한 분산 학습
./tools/dist_train.sh configs/my_custom_config.py 4

27

  • 모델 테스트:

학습이 완료되면 work_dirs 디렉토리에 저장된 체크포인트 파일(.pth)을 사용하여 모델의 성능을 평가한다. tools/test.py 스크립트는 mAP(mean Average Precision)와 같은 표준 평가 지표를 계산하여 출력한다.

python tools/test.py configs/my_custom_config.py work_dirs/my_custom_config/latest.pth --show

29

  • 모델 추론:

학습된 모델을 새로운 이미지에 적용하여 결과를 확인한다. demo/image_demo.py와 같은 데모 스크립트를 사용하거나, mmdet.apis.inference_detector와 같은 고수준 API를 활용하여 애플리케이션에 통합할 수 있다.

python demo/image_demo.py path/to/image.jpg configs/my_custom_config.py --weights work_dirs/my_custom_config/latest.pth --device cpu

23

이러한 체계적인 워크플로우는 연구 아이디어를 신속하게 구현하고, 체계적으로 실험하며, 결과를 검증하는 전 과정을 효율적으로 지원한다.

6. 모델 배포와 산업 적용

연구 단계에서 높은 성능을 보인 딥러닝 모델이라도, 실제 산업 현장의 다양한 하드웨어와 환경에서 효율적으로 동작하기 위해서는 ’배포(Deployment)’라는 중요한 과정을 거쳐야 한다. OpenMMLab은 MMDeploy라는 전문 툴킷을 통해 이 과정을 체계적으로 지원하며, 연구 성과가 실제 제품으로 원활하게 전환될 수 있도록 돕는다.

6.1 MMDeploy: 연구에서 생산으로의 전환

MMDeploy는 OpenMMLab 생태계의 모델들을 다양한 추론 백엔드와 플랫폼에 배포하기 위해 설계된 통합 툴셋이다.30 이는 모델의 호환성 문제와 추론 속도 저하라는 두 가지 주요 배포 난제를 해결하는 것을 목표로 한다.32

MMDeploy의 핵심 파이프라인은 세 단계로 구성된다 30:

  1. 모델 변환기 (Model Converter): PyTorch로 학습된 동적 그래프 모델을 배포에 적합한 정적 그래프 형태의 중간 표현(Intermediate Representation, IR)으로 변환한다. 대표적인 IR로는 ONNX가 있다. 이후, 이 IR을 TensorRT, OpenVINO 등 특정 하드웨어에 최적화된 백엔드 엔진으로 추가 변환하는 역할을 수행한다.
  2. MMDeploy 모델 (MMDeploy Model): 변환된 백엔드 모델 파일뿐만 아니라, 추론에 필요한 전처리/후처리 정보, 모델 메타데이터 등을 포함하는 배포용 패키지이다.
  3. 추론 SDK (Inference SDK): C/C++로 개발된 고성능 추론 라이브러리로, 모델의 전처리, 순전파(forward pass), 후처리 과정을 모두 감싸고 있다. Python, C++, Java, C# 등 다양한 언어에서 호출할 수 있는 인터페이스(FFI)를 제공하여 실제 애플리케이션에 쉽게 통합될 수 있도록 설계되었다.30

6.2 모델 변환 프로세스: ONNX 및 TensorRT 백엔드 활용

MMDeploy를 이용한 모델 변환 과정은 tools/deploy.py 스크립트와 몇 가지 설정 파일을 통해 이루어진다. 이 과정은 복잡한 백엔드별 API를 추상화하여 사용자에게 일관된 경험을 제공한다.31

  • ONNX (Open Neural Network Exchange)로의 변환:

ONNX는 다양한 딥러닝 프레임워크와 추론 엔진 간의 호환성을 제공하는 표준화된 중간 표현 형식이다.32 PyTorch 모델을 ONNX로 변환하는 것은 배포의 첫 단계에 해당한다. MMDeploy는

torch.onnx.export 함수를 내부적으로 활용하여 이 과정을 자동화한다. 사용자는 배포 설정 파일(deploy_cfg)에서 백엔드를 ONNX Runtime으로 지정하기만 하면 된다.

python tools/deploy.py \
configs/mmdet/detection/detection_onnxruntime_dynamic.py \
/path/to/model_config.py \
/path/to/checkpoint.pth \
/path/to/demo_image.jpg \
--work-dir mmdeploy_models/onnx_model \
--device cpu

30

변환이 완료되면 work-dir에 .onnx 모델 파일과 추론 메타 정보가 담긴 JSON 파일들이 생성된다.

  • TensorRT로의 최적화:

TensorRT는 NVIDIA GPU에서 추론 성능을 극대화하기 위한 SDK이다. 이는 ONNX 모델을 입력으로 받아, 다음과 같은 최적화를 수행한다 32:

  • 정밀도 보정 (Precision Calibration): FP32(32비트 부동소수점) 연산을 FP16이나 INT8(8비트 정수) 연산으로 변환하여 속도를 높이고 메모리 사용량을 줄인다.
  • 레이어 융합 (Layer Fusion): 여러 개의 연속된 레이어(예: Convolution + BatchNorm + ReLU)를 하나의 최적화된 커널로 통합하여 GPU 연산 오버헤드를 줄인다.
  • 커널 자동 튜닝 (Kernel Auto-Tuning): 타겟 GPU 아키텍처에 가장 효율적인 CUDA 커널을 자동으로 선택한다.

MMDeploy를 사용하면 ONNX 변환과 TensorRT 최적화를 한 번의 명령으로 수행할 수 있다. deploy_cfg를 TensorRT용 설정 파일로 변경하고, --devicecuda로 지정하면 된다.

python tools/deploy.py \
configs/mmdet/detection/detection_tensorrt_dynamic-320x320-1344x1344.py \
/path/to/model_config.py \
/path/to/checkpoint.pth \
/path/to/demo_image.jpg \
--work-dir mmdeploy_models/trt_model \
--device cuda:0

30

이 과정을 통해 생성된 .engine 파일은 특정 GPU에 고도로 최적화된 실행 가능한 모델이다.

6.3 산업 현장에서의 활용 사례 및 잠재력

OpenMMLab의 툴킷과 MMDeploy의 강력한 배포 기능은 다양한 산업 분야에서 AI 기술이 실질적인 가치를 창출하는 데 기여하고 있다.

  • 자율 주행 (Autonomous Driving): MMDetection3D와 MMRotate는 라이다 센서 데이터와 카메라 이미지를 융합하여 3D 공간의 차량, 보행자, 자전거 등을 정밀하게 탐지하는 데 사용된다. 한 사용자는 자율 주행 및 3D 인식 분야에서 OpenMMLab 프레임워크가 거의 필수적이라고 평가했다.34 MMDeploy를 통해 최적화된 모델은 차량 내 임베디드 시스템에서 실시간으로 동작해야 하는 엄격한 요구사항을 충족시킨다.
  • 의료 영상 (Medical Imaging): MMSegmentation은 MRI나 CT 스캔 이미지에서 종양, 장기, 병변 등을 정확하게 분할하는 데 활용된다.8 이를 통해 의사의 진단을 보조하고 수술 계획 수립의 정확도를 높일 수 있다.
  • 스마트 팩토리 및 리테일 (Smart Factory & Retail): MMDetection과 MMTracking은 생산 라인에서 불량품을 검출하거나, 매장 내 고객 동선을 분석하는 데 사용된다. MMPose는 작업자의 위험한 자세를 감지하여 산업 재해를 예방하는 시스템에 적용될 수 있다.
  • 데이터 어노테이션 자동화: OpenMMLab은 Label Studio와 같은 데이터 레이블링 도구와 통합되어, 모델을 활용한 반자동 어노테이션(Semi-automatic Annotation)을 지원한다.36 이는 대규모 데이터셋 구축에 필요한 시간과 비용을 획기적으로 절감시켜 MLOps 파이프라인의 효율성을 높인다.

이처럼 OpenMMLab은 연구실의 최신 알고리즘을 산업 현장의 구체적인 문제에 적용하고, 이를 다시 고성능으로 배포하는 전체 라이프사이클을 지원함으로써 AI 기술의 산업화를 선도하고 있다.1

7. 비교 분석 및 학술적 영향력

OpenMMLab의 가치를 객관적으로 평가하기 위해서는 생태계를 동시대의 다른 주요 프레임워크와 비교하고, 학술 커뮤니티에 미친 영향을 분석하는 과정이 필수적이다. 본 장에서는 객체 탐지 분야의 대표적인 프레임워크인 Detectron2, YOLO와의 비교를 통해 OpenMMLab의 기술적 특징을 분석하고, 최상위 컴퓨터 비전 학회에서의 위상을 통해 그 학술적 영향력을 조명한다.

7.1 주요 프레임워크와의 비교: Detectron2 및 YOLO

  • MMDetection vs. Detectron2:

MMDetection과 Detectron2는 모두 PyTorch를 기반으로 하는 모듈식 객체 탐지 프레임워크라는 점에서 많은 공통점을 가진다.38 두 프레임워크 모두 연구 커뮤니티에서 널리 사용되며, 높은 수준의 성능과 유연성을 제공한다. 하지만 지향점과 생태계 구성에서 미묘한 차이를 보인다.

  • 모델 다양성과 최신 기술 반영: MMDetection은 더 넓은 범위의 알고리즘을 지원하는 경향이 있다. 공식 모델 동물원(Model Zoo)에 35개 이상의 논문에 해당하는 알고리즘과 250개 이상의 사전 학습 모델을 포함하고 있으며, CVPR, ICCV 등 학회에서 발표된 최신 논문들이 MMDetection 기반으로 코드를 공개하는 경우가 많다.40 이는 MMDetection이 학계의 최신 연구 동향을 빠르게 흡수하고 표준 구현을 제공하는 플랫폼으로서의 역할에 더 중점을 둔다는 것을 시사한다.

  • 학습 곡선과 사용 편의성: Detectron2는 상대적으로 잘 정리된 API와 문서를 통해 MMDetection보다 초기 진입 장벽이 낮다는 평가를 받기도 한다.42 반면, MMDetection의 Config 시스템은 상속 구조를 완전히 이해해야 그 강력함을 활용할 수 있어 초기 학습 곡선이 다소 가파르지만, 일단 익숙해지면 매우 유연하고 강력한 실험 환경을 제공한다.43

  • 성능: 동일한 모델 아키텍처와 하이퍼파라미터 하에서는 두 프레임워크의 성능이 거의 대등하다. 공식 벤치마크에서 나타나는 약간의 성능 차이는 주로 기본 학습 설정(예: Detectron2의 다중 스케일 학습 기본 적용)의 차이에서 비롯되는 경우가 많다.12

  • OpenMMLab (MMDetection/MMYOLO) vs. YOLO (Ultralytics):

Ultralytics의 YOLO 시리즈와 OpenMMLab은 서로 다른 철학을 가진다.

  • 범용성 vs. 특화성: OpenMMLab은 객체 탐지를 포함한 컴퓨터 비전의 다양한 문제를 해결하기 위한 ’범용 프레임워크’를 지향한다. MMDetection 내에서도 수많은 모델 아키텍처를 지원하며, MMYOLO 툴킷을 통해 YOLO 계열 모델을 전문적으로 지원하기도 한다.4 반면, Ultralytics의 프레임워크는 YOLO라는 특정 모델 아키텍처에 고도로 최적화되어 있으며, 사용 편의성과 빠른 추론 속도를 극대화하는 데 초점을 맞춘다.46
  • 연구 vs. 빠른 적용: MMDetection은 다양한 컴포넌트를 조합하고 수정하며 새로운 모델을 연구하기에 적합한 구조를 가지고 있다.47 반면, Ultralytics YOLO는 최소한의 설정으로 빠르게 모델을 학습시키고 배포하려는 사용자에게 더 친화적이다. 한 비교 연구에서는 Ultralytics가 사용자 친화적인 인터페이스와 문서화에서 두드러지는 반면, MMDetection은 더 넓은 기능과 모델을 제공하지만 초기 설정이 복잡하다고 평가했다.46

아래 표는 주요 객체 탐지 프레임워크의 대표 모델 성능을 COCO val2017 데이터셋 기준으로 비교한 것이다.

모델명프레임워크Box AP파라미터(M)추론 속도 (FPS, 3090)
RTMDet-LMMDetection52.857.8322 (TRT FP16)
YOLOv8-XUltralytics53.968.2-
DINO (Swin-L)MMDetection58.5253.0-
Faster R-CNN (R-50-FPN)Detectron238.641.6~22.5
Faster R-CNN (R-50-FPN)MMDetection38.841.6~19.6

주: 추론 속도는 배치 크기, 하드웨어, 최적화(TensorRT 등) 여부에 따라 크게 달라질 수 있어 직접적인 비교에 주의가 필요하다. 7

7.2 학계에서의 영향력: CVPR, ICCV, ECCV 논문 분석

OpenMMLab의 학술적 영향력은 최상위 컴퓨터 비전 학회에서의 압도적인 존재감으로 입증된다. MMLab은 매년 CVPR, ICCV, ECCV에 수십 편의 논문을 게재하는 세계적인 연구 그룹이며, 이러한 연구 성과물의 상당수가 OpenMMLab을 통해 코드로 공개된다.48

MMDetection의 공식 문서에는 CVPR, ICCV, ECCV에서 발표된 수십 편의 논문들이 MMDetection을 기반으로 구현되었음을 명시하고 있다.40 이는 OpenMMLab이 단순히 코드를 제공하는 것을 넘어, 새로운 연구 아이디어를 검증하고 결과를 공유하며, 다른 연구자들이 이를 바탕으로 후속 연구를 진행할 수 있는 ’학술 플랫폼’의 역할을 수행하고 있음을 보여준다. 예를 들어, Involution (CVPR'21), Swin Transformer (ICCV'21), Soft Teacher (ICCV'21) 등 각 시대를 대표하는 중요 논문들이 MMDetection 기반 프로젝트로 공개되었다.49

또한, 학술 논문 및 코드 검색 플랫폼인 ’Papers with Code’에서 비디오 인스턴스 분할(Video Instance Segmentation)과 같은 여러 세부 분야에서 open-mmlab/mmdetection이 가장 많이 사용되는 라이브러리 중 하나로 등재되어 있다.50 이는 OpenMMLab이 특정 연구 그룹을 넘어 전 세계 컴퓨터 비전 연구자들에게 표준적인 실험 도구로 널리 채택되었음을 의미한다.

7.3 커뮤니티와 미래 로드맵

OpenMMLab의 성공은 활발한 오픈소스 커뮤니티에 의해 뒷받침된다. GitHub 스타 수는 85,000개를 넘어서고, 1,700명 이상의 기여자가 프로젝트 발전에 참여하고 있다.37 이러한 커뮤니티는 버그를 보고하고, 새로운 기능을 제안하며, 코드 개선에 직접 참여함으로써 생태계를 살아 움직이게 만드는 원동력이다.

그러나 최근 OpenMMLab의 미래에 대한 우려가 제기되고 있다. 2023년 말, 프로젝트의 창립자이자 정신적 지주였던 Tang Xiao’ou 교수의 별세 이후, GitHub 저장소들의 개발 활동이 눈에 띄게 감소했다는 커뮤니티의 지적이 있었다.53 실제로 다수 툴킷의 마지막 릴리즈가 2023년 말 또는 2024년 초에 머물러 있어, 새로운 연구 동향 반영이 과거만큼 신속하지 않다는 우려가 나온다.4

현재 공식적으로 발표된 장기적인 로드맵은 부재한 상황이다. 하지만 MMDetection의 GitHub Discussions와 같은 채널에서는 TFLite 지원과 같은 새로운 기능에 대한 논의가 계속되고 있어, 커뮤니티의 발전 의지는 여전히 살아있음을 알 수 있다.55 OpenMMLab이 과거의 혁신성과 영향력을 이어나가기 위해서는, 이 거대한 생태계를 이끌어갈 새로운 리더십과 커뮤니티의 지속적인 참여가 그 어느 때보다 중요한 시점이다.

8. 결론

OpenMMLab은 홍콩중문대학 멀티미디어 연구소(MMLab)의 깊이 있는 학술적 토대와 SenseTime의 강력한 산업적 지원을 바탕으로 탄생한, 명실상부한 세계 최고 수준의 컴퓨터 비전 오픈소스 알고리즘 시스템이다. MMEngine을 중심으로 한 통합 아키텍처, MMCV가 제공하는 견고한 기초, 그리고 각 전문 분야를 아우르는 방대한 툴킷 생태계는 컴퓨터 비전 연구의 재현성을 획기적으로 높이고 개발 생산성을 극대화했다. 특히, 모듈식 설계와 상속 기반의 정교한 Config 시스템은 연구자들이 아이디어를 신속하게 프로토타이핑하고 검증할 수 있는 강력하고 유연한 환경을 제공했다.

또한, MMDeploy 툴킷을 통해 연구 단계의 모델을 산업 현장에 배포하는 전 과정을 지원함으로써, OpenMMLab은 학계와 산업계 사이의 간극을 성공적으로 메우는 가교 역할을 수행했다. 이는 자율 주행, 의료 영상, 스마트 시티 등 다양한 분야에서 AI 기술이 실질적인 가치를 창출하는 데 크게 기여했다. Detectron2, YOLO 등 다른 유수의 프레임워크와 비교했을 때, OpenMMLab은 특히 모델의 다양성과 학술적 깊이, 그리고 포괄적인 생태계 측면에서 뚜렷한 강점을 보여주었다.

그러나 OpenMMLab은 현재 중요한 기로에 서 있다. 창립자의 부재 이후 프로젝트의 전반적인 개발 동력이 약화되었다는 커뮤니티의 우려는 이 거대한 생태계의 지속 가능성에 대한 중요한 질문을 던진다. 과거와 같이 최신 연구 동향을 신속하게 반영하고 생태계를 확장해 나가기 위해서는 새로운 비전과 리더십이 요구되는 시점이다.

결론적으로, OpenMMLab이 지난 수년간 컴퓨터 비전 분야에 남긴 학술적, 기술적 기여는 지대하다. 앞으로 OpenMMLab이 현재의 도전 과제를 극복하고, 전 세계 수많은 연구자와 개발자들로 이루어진 활발한 커뮤니티의 참여를 바탕으로 과거의 혁신을 이어나갈 수 있을지는, 향후 컴퓨터 비전 생태계의 판도를 결정하는 중요한 변수가 될 것이다. OpenMMLab의 다음 행보에 귀추가 주목된다.

9. 참고 자료

  1. OpenMMLab - GitHub, https://github.com/open-mmlab
  2. An AI pioneer’s unbreakable bond with CUHK | CUHK in Focus | The …, https://www.focus.cuhk.edu.hk/en/20240605/an-ai-pioneers-unbreakable-bond-with-cuhk/044-science-engineering-technology-en/
  3. Open Source Communities-Core Technology-SenseTime, https://www.sensetime.com/en/open-source-community
  4. Profile of openmmlab - PyPI, https://pypi.org/user/openmmlab/
  5. Releases · open-mmlab/mmcv - GitHub, https://github.com/open-mmlab/mmcv/releases
  6. Introduction — mmcv 1.7.1 documentation - Read the Docs, https://mmcv.readthedocs.io/en/master/get_started/introduction.html
  7. open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark - GitHub, https://github.com/open-mmlab/mmdetection
  8. Master MMSegmentation: Guide to MMseg Semantic Segmentation - Ikomia, https://www.ikomia.ai/blog/master-mmsegmentation-guide-mmseg
  9. Learn about Configs — MMDetection 3.3.0 documentation, https://mmdetection.readthedocs.io/en/dev-3.x/user_guides/config.html
  10. Tutorial 1: Learn about Configs - MMDetection’s documentation!, https://mmdetection.readthedocs.io/en/v2.19.1/tutorials/config.html
  11. MMDetection: Open MMLab Detection Toolbox and Benchmark - Hugging Face, https://huggingface.co/papers/1906.07155
  12. Benchmark and Model Zoo - MMDetection’s documentation!, https://mmdetection.readthedocs.io/en/latest/model_zoo.html
  13. open-mmlab/mmsegmentation: OpenMMLab Semantic Segmentation Toolbox and Benchmark. - GitHub, https://github.com/open-mmlab/mmsegmentation
  14. Welcome to MMPose’s documentation! — MMPose 1.3.2 …, https://mmpose.readthedocs.io/
  15. open-mmlab/mmpose: OpenMMLab Pose Estimation Toolbox and Benchmark. - GitHub, https://github.com/open-mmlab/mmpose
  16. Roadmap of MMPose 1.x · Issue #2258 - GitHub, https://github.com/open-mmlab/mmpose/issues/2258
  17. Welcome to MMagic’s documentation! — MMagic documentation, https://mmagic.readthedocs.io/
  18. open-mmlab/mmagic: OpenMMLab Multimodal Advanced, Generative, and Intelligent Creation Toolbox. Unlock the magic - GitHub, https://github.com/open-mmlab/mmagic
  19. open-mmlab/mmpretrain: OpenMMLab Pre-training Toolbox and Benchmark - GitHub, https://github.com/open-mmlab/mmpretrain
  20. OpenMMLab/mmocr - Gitee, https://gitee.com/open-mmlab/mmocr/blob/main/README.md
  21. OpenMMLab 2.0: new architecture, algorithm, and ecology - Medium, https://openmmlab.medium.com/openmmlab-2-0-new-architecture-algorithm-and-ecology-cf568fa0fc12
  22. Get started: Install and Run MMSeg - MMSegmentation’s documentation!, https://mmsegmentation.readthedocs.io/en/latest/get_started.html
  23. GET STARTED — MMDetection 3.3.0 documentation, https://mmdetection.readthedocs.io/en/stable/get_started.html
  24. Comprehensive Guide to Mastering MMDetection (MMDet) for Object Detection - Ikomia, https://www.ikomia.ai/blog/ultimate-guide-mmdetection-mmdet-object-detection
  25. MMDet_Tutorial.ipynb - Colab, https://colab.research.google.com/github/open-mmlab/mmdetection/blob/dev-3.x/demo/MMDet_Tutorial.ipynb
  26. Install MMDetection - Colab, https://colab.research.google.com/github/open-mmlab/mmdetection/blob/master/demo/MMDet_Tutorial.ipynb
  27. Train semantic segmentation model with custom dataset using mmsegmentation | by Bo Li, https://bo-li.medium.com/train-semantic-segmentation-model-with-custom-dataset-using-mmsegmentation-90d798d3f1bd
  28. MMClassification tools tutorial on Colab - Google, https://colab.research.google.com/github/mzr1996/mmclassification-tutorial/blob/master/1.x/MMClassification_tools.ipynb
  29. MMClassification tools tutorial on Colab - Google, https://colab.research.google.com/github/open-mmlab/mmclassification/blob/master/docs/en/tutorials/MMClassification_tools.ipynb
  30. Get Started — mmdeploy 1.3.1 documentation, https://mmdeploy.readthedocs.io/en/latest/get_started.html
  31. mmyolo/docs/en/recommended_topics/deploy/mmdeploy_guide.md at main - GitHub, https://github.com/open-mmlab/mmyolo/blob/main/docs/en/recommended_topics/deploy/mmdeploy_guide.md
  32. Model deployment(I):Brief introduction of model deployment | by OpenMMLab | Medium, https://openmmlab.medium.com/model-deployment-i-brief-introduction-of-model-deployment-d4278af118c9
  33. docs/en/tutorials/model_deployment.md · fcb4545ce719ac121348cab59bac9b69dd1b1b59 · Zhiyu Han / Mmdetection3d - GitLab, https://u-173-c219.cs.uni-tuebingen.de/zhan/mmdetection3d/-/blob/fcb4545ce719ac121348cab59bac9b69dd1b1b59/docs/en/tutorials/model_deployment.md
  34. Does anyone use the MMDetection library? Is it even worth to learn? - Reddit, https://www.reddit.com/r/computervision/comments/16n2q3r/does_anyone_use_the_mmdetection_library_is_it/
  35. What is OpenMMLab and how it is used in computer vision - Matrix Alchemy - RenoCrypt, https://www.renocrypt.com/posts/what-is-openmm/
  36. Integration Spotlight: OpenMMLab & Label Studio, https://labelstud.io/blog/integration-spotlight-openmmlab-and-label-studio/
  37. OpenMMLab: Open-source Platform for Vision, Language and Generative AI - YouTube, https://www.youtube.com/watch?v=08wf0xYhc9A
  38. Detectron2 vs. YOLO-NAS: Which Object Detection Model Reigns Supreme? - Codersera, https://codersera.com/blog/detectron2-vs-yolo-nas-which-object-detection-model-reigns-supreme?ref=ghost.codersera.com
  39. Comprehensive Guide to CV Pipelines with Detectron2 and MMDetection - Rapid Innovation, https://www.rapidinnovation.io/post/building-a-computer-vision-pipeline-with-detectron2-and-mmdetection
  40. Projects based on MMDetection, https://mmdetection.readthedocs.io/en/3.x/notes/projects.html
  41. MMDetection V2.0:A Faster and Stronger General Detection Framework | by OpenMMLab, https://openmmlab.medium.com/mmdetection-v2-0-a-faster-and-stronger-general-detection-framework-94943c83ab91
  42. MMDetection vs. Detectron2 for Instance Segmentation — Which Framework Would You Recommend? - Reddit, https://www.reddit.com/r/computervision/comments/1jxplnp/mmdetection_vs_detectron2_for_instance/
  43. MMDetection vs Detectron2? : r/computervision - Reddit, https://www.reddit.com/r/computervision/comments/m0h0rf/mmdetection_vs_detectron2/
  44. Lower performances than Detectron2 · Issue #4019 · open-mmlab/mmdetection - GitHub, https://github.com/open-mmlab/mmdetection/issues/4019
  45. YOLO-World: Real-Time Open-Vocabulary Object Detection - arXiv, https://arxiv.org/html/2401.17270v3
  46. Open-Source Object Detection Frameworks, https://lnu.diva-portal.org/smash/get/diva2:1939025/FULLTEXT01.pdf
  47. Object detection support in different frameworks - Deep Learning - fast.ai Course Forums, https://forums.fast.ai/t/object-detection-support-in-different-frameworks/109239
  48. Multimedia Laboratory, https://mmlab.ie.cuhk.edu.hk/
  49. Projects based on MMDetection, https://mmdetection.readthedocs.io/en/latest/notes/projects.html
  50. Instance Segmentation | Papers With Code, https://paperswithcode.com/task/instance-segmentation/codeless?page=5
  51. Video Instance Segmentation | Papers With Code, https://paperswithcode.com/task/video-instance-segmentation?page=3
  52. OpenMMLab, https://openmmlab.com/community/cvpr2023-tutorial
  53. What Happened to OpenMMLab? : r/computervision - Reddit, https://www.reddit.com/r/computervision/comments/1dfpquz/what_happened_to_openmmlab/
  54. MMdetection is not supported anymore - Rost Glukhov, https://www.glukhov.org/post/2025/04/mmdetection-is-not-supported/
  55. RoadMap and Discussion of MMDet 3.x · open-mmlab mmdetection · Discussion #9318 - GitHub, https://github.com/open-mmlab/mmdetection/discussions/9318